package com.duobaoyu.dby.supply.db.entity.refund;

import com.baomidou.mybatisplus.annotation.*;
import com.duobaoyu.dby.common.mybatis.base.BaseEntity;
import com.duobaoyu.dby.supply.common.biz.compare.Compare;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;

import java.math.BigDecimal;


/**
 * 售后申请子项
 *
 * @author LY
 * @email 249007302@qq.com
 * @date 2023-09-26 10:42:54
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@TableName("scb_after_sale_item")
@ApiModel(value = "售后申请子项")
@EqualsAndHashCode(callSuper = true)
public class AfterSaleItem extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;
    /**
     * 描述：渠道商品编码
     */
    @ApiModelProperty(value = "渠道商品编码")
    private String channelProductCode;
    /**
     * 描述：渠道编码
     */
    @ApiModelProperty(value = "渠道编码")
    private String channelCode;
    /**
     * 描述：渠道运费退款金额
     */
    @ApiModelProperty(value = "渠道运费退款金额")
    private BigDecimal channelFreightActualRefundAmount;
    /**
     * 描述：商品类型
     */
    @ApiModelProperty(value = "商品类型")
    private String productType;
    /**
     * 描述：三级分类id
     */
    @ApiModelProperty(value = "三级分类id")
    private Long thirdClassifyId;
    /**
     * 描述：订单编号
     */
    @ApiModelProperty(value = "订单编号")
    private String orderSn;
    /**
     * 描述：售后状态
     */
    @ApiModelProperty(value = "售后状态")
    private Integer afterSaleStatus;
    /**
     * 描述：sku图片
     */
    @ApiModelProperty(value = "sku图片")
    private String skuPic;
    /**
     * 描述：渠道实付金额
     */
    @ApiModelProperty(value = "渠道实付金额")
    private BigDecimal channelActualPaidAmount;
    /**
     * 展示的业务名称
     */
    @ApiModelProperty(value = "展示的业务名称")
    private String showServerName;
    /**
     * 描述：商户实付金额
     */
    @ApiModelProperty(value = "商户实付金额")
    private BigDecimal merchantActualPaidAmount;
    /**
     * 商品平台单价
     */
    @ApiModelProperty(value = "商品平台单价")
    private BigDecimal itemPlatformUnitPrice;
    /**
     * 描述：渠道申请金额
     */
    @ApiModelProperty(value = "渠道申请金额")
    private BigDecimal applyRefundAmount;
    /**
     * 描述：商品货物状态
     */
	@Compare("商品货物状态")
    @ApiModelProperty(value = "商品货物状态")
    private Integer goodsStatus;
    /**
     * 描述：售后原因
     */
    @ApiModelProperty(value = "售后原因")
    private String reasonCode;
    /**
     * 描述：售后单号
     */
    @ApiModelProperty(value = "售后单号")
    private String afterSaleSn;
    /**
     * 描述：商品编码
     */
    @ApiModelProperty(value = "商品编码")
    private String productCode;
    /**
     * 描述：订单数量
     */
    @ApiModelProperty(value = "订单数量")
    private Integer purchaseNum;
    /**
     * 描述：渠道sku编码
     */
    @ApiModelProperty(value = "渠道sku编码")
    private String channelSkuCode;
    /**
     * 描述：渠道退款金额
     */
    @ApiModelProperty(value = "渠道退款金额")
    private BigDecimal channelActualRefundAmount;
    /**
     * 描述：售后来源
     */
    @ApiModelProperty(value = "售后来源")
    private Integer afterSaleSource;
    /**
     * 描述：售后类型
     */
    @ApiModelProperty(value = "售后类型")
    private Integer afterSaleType;
    /**
     * 描述：售后原因描述
     */
    @ApiModelProperty(value = "售后原因描述")
    private String reasonName;
    /**
     * 描述：运费申请退款金额
     */
    @ApiModelProperty(value = "运费申请退款金额")
    private BigDecimal freightApplyRefundAmount;
    /**
     * 描述：申请数量
     */
    @ApiModelProperty(value = "申请数量")
    private Integer applyNum;
    /**
     * 描述：售后描述
     */
    @ApiModelProperty(value = "售后描述")
    private String afterSaleRemark;
    /**
     * 售后图片
     */
    @ApiModelProperty(value = "售后图片")
    private String afterSaleImage;
    /**
     * 描述：业务售后单号
     */
    @ApiModelProperty(value = "业务售后单号")
    private String bizAfterSaleSn;
    /**
     * 描述：sku编码
     */
    @ApiModelProperty(value = "sku编码")
    private String skuCode;
    /**
     * 描述：sku名称
     */
    @ApiModelProperty(value = "sku名称")
    private String skuName;
    /**
     * 业务来源
     */
    @ApiModelProperty(value = "业务来源")
    private String serverName;
    /**
     * 描述：三级分类名称
     */
    @ApiModelProperty(value = "三级分类名称")
    private String thirdClassifyName;
    /**
     * 版本号-用作乐观锁
     */
    @Version
    @ApiModelProperty(value = "版本号-用作乐观锁")
    private Integer version;
    /**
     * 是否删除 0-否 1-是
     */
    @TableLogic(value = "0",delval = "1")
    @ApiModelProperty(value = "是否删除 0-否 1-是")
    private Integer delFlag;
}
